自分の年齢を自動的に計算させる
今回は、自分の年齢をJavaScriptで自動計算するテクニックを紹介します。自己紹介ページにこのテクニックを使用すれば、年齢を手作業で更新しなくても常に正しい年齢が表示できるようになります。

→ 自分の生年月日を登録する
 
まずは、JavaScriptの変数として生年月日を登録します。「birthyear」には自分が誕生した年(西暦)、「birthmonth」には誕生月、「birthday」には誕生した日にちを指定してください。なお、「age」は年齢の計算に使用する変数ですが、ここではとりあえず0を指定しておきます。
<SCRIPT language="JavaScript">
<!--
var birthyear=1982;
var birthmonth=6;
var birthday=24;
var age=0;
//-->
</SCRIPT>


→ 現在の年月日を取得する
 
続いて、現在の年月日を取得します。「now = new Date()」で現在の日時を示すDateオブジェクトを作成し、それを年「y」、月「m」、日「d」に分割します。また、前回の講座でも紹介したように、月と年の補正を行っておきます。
<SCRIPT language="JavaScript">
<!--
var birthyear=1982;
var birthmonth=6;
var birthday=24;
var age=0;
now = new Date();
y=now.getYear();
m=now.getMonth()+1;
d=now.getDate();
if(y<1900) {y=y+1900;}
//-->
</SCRIPT>


→ 現在の年齢を計算して表示する
 
最後に、現在の年齢を計算して表示します。現在の月「m」が誕生月「birthmonth」より小さければ、まだ誕生日前なので年齢「age」は「y-birthyear-1」となります。逆に、現在の月「m」が誕生月「birthmonth」より大きければ、年齢「age」は「y-birthyear」です。「m」と「birthmonth」が同じ場合は、現在の日「d」と誕生した日にち「birthday」を比較し、「d < birthday」なら誕生日前、そうでない場合は誕生日後(または当日)として計算すればOKです。あとは、document.writeで年齢「age」を表示するだけで、常に正しい年齢を表示できます。
<SCRIPT language="JavaScript">
<!--
var birthyear=1982;
var birthmonth=6;
var birthday=24;
var age=0;
now = new Date();
y=now.getYear();
m=now.getMonth()+1;
d=now.getDate();
if(y<1900) {y=y+1900;}
if(m < birthmonth){age=y-birthyear-1}
if(m > birthmonth){age=y-birthyear}
if(m == birthmonth){
if(d < birthday){age=y-birthyear-1}
else{age=y-birthyear}
}
document.write("年齢:"+age+"歳");
//-->
</SCRIPT>


e[NECir Yahoo yV LINEf[^[z500~`I
z[y[W NWbgJ[h COiq@COsI COze